import request from '../utils/request'

// 1. 创建工单（用户/管理员）不用写入store中
export const createWorkOrder = (params) => {
  return request({
    url: '/workOrders',
    method: 'post',
    data: params, // 参数包含 customer_name, customer_phone, customer_address, customer_id, user_claim
  })
}

// 2. 客服处理工单（待处理→已完成/待分配站点） 不用写入store中
export const handleWorkOrderByStaff = (id, data) => {
  return request({
    url: `/workOrders/${id}/staff`,
    method: 'put',
    data: data, // 参数包含 staff_judgment（可选）, targetStatus, staff_id
  })
}

// 3. 管理员分派维修站点（待分配站点→待分派维修员） 不用写入store中
export const assignStationByAdmin = (id, data) => {
  return request({
    url: `/workOrders/${id}/admin`,
    method: 'put',
    data: data, // 参数包含 station_id（可选）
  })
}

// 4. 站点分派维修员（待分派维修员→待预约）  不用写入store中
// 注意：这里的站点ID应该是维修站点的ID，而不是用户的ID。
export const assignRepairmanByStation = (id, data) => {
  return request({
    url: `/workOrders/${id}/station`,
    method: 'put',
    data: data, // 参数包含 repairman_id
  })
}

// 5. 用户选择预约时间（待预约→待上门服务） 不用写入store中
export const setAppointmentTimeByUser = (id, data) => {
  return request({
    url: `/workOrders/${id}/user`,
    method: 'put',
    data: data, // 参数包含 appointment_time, customer_id
  })
}

// 6. 维修员完成维修（待上门服务→待客服回访） 不用写入store中
export const completeRepairByRepairman = (id, data) => {
  return request({
    url: `/workOrders/${id}/repairman`,
    method: 'put',
    data: data, // 参数包含 repair_inspection, repair_result, repairman_id
  })
}

// 7. 客服最终完成（待客服回访→已完成） 不用写入store中
export const finalConfirmByStaff = (id, data) => {
  return request({
    url: `/workOrders/${id}/finish`,
    method: 'put',
    data: data, // 可选参数：回访反馈信息
  })
}

// 8. 获取全部工单列表（带分页和排序）   写入store中
export const getAllWorkOrders = (params) => {
  return request({
    url: '/workOrders/ordersList',
    method: 'get',
    params: params, // 参数包含 page（可选，默认1）, limit（可选，默认10）, sort（可选，默认'-createdAt'）
  })
}

// 9. 按状态获取工单列表 不用写入store中
export const getWorkOrdersByStatus = (params) => {
  return request({
    url: '/workOrders/by-status',
    method: 'get',
    params: params, // 参数包含 status（必传，需为有效状态值）
  })
}
// 10. 根据工单id获取工单详情
export const getWorkOrdersByOrderId = (id) => {
  return request({
    url: `/workOrders/${id}`,
    method: 'get',
  })
}
//根据用户ID查询订单列表（新增接口）
export const getWorkOrdersByUserId = (customerId) => {
  return request({
    url: `/workOrders/by-customer/${customerId}`,
    method: 'get',
  })
}
